let schedule_yh_controller = {
    // 查询所有的日程信息初始化日程列表
    findScheduleAll: function (pageNum, pageSize, condition) {
        axios({
            url: "/admin/cinema/schedule/all",
            method: "POST",
            data: {
                pageNum: pageNum,
                pageSize: pageSize,
                searchCondition: condition,
            }
        }).then(function (value) {
            if (value.data.code == 200) {
                vueapp.scheduleList = value.data.data.list;
                vueapp.page = value.data.data;
            } else {
                vueapp.$alert(value.data.msg, '提示', {
                    confirmButtonText: '确定',
                });
            }
        })
    },

    // 根据影片名称搜索所有的日程信息
    searchScheduleByMovieName: function (pageNum, pageSize, movieName, condition) {
        axios({
            url: "/admin/cinema/schedule/movie/name",
            method: "POST",
            data: {
                pageNum: pageNum,
                pageSize: pageSize,
                keyword: movieName,
                searchCondition: condition,
            }
        }).then(function (value) {
            if (value.data.code == 200) {
                vueapp.scheduleList = value.data.data.list;
                vueapp.page = value.data.data;
            } else {
                vueapp.$alert(value.data.msg, '提示', {
                    confirmButtonText: '确定',
                });
            }
        })
    },

    // 查询所有的影院信息
    findCinemaAll: function () {
        axios({
            url: "/admin/cinema/all",
            method: "GET",
        }).then(function (value) {
            if (value.data.code == 200) {
                vueapp.cinemaList = value.data.data;
            } else {
                vueapp.$alert(value.data.msg, '提示', {
                    confirmButtonText: '确定',
                });
            }
        })
    },

    // 根据影片ID查询所有的影院信息
    findCinemaByMovieId: function (movieId) {
        axios({
            url: "/admin/cinema/by/movie",
            method: "GET",
            params: {
                movieId: movieId,
            }
        }).then(function (value) {
            if (value.data.code == 200) {
                vueapp.cinemaList = value.data.data;
            } else {
                vueapp.$alert(value.data.msg, '提示', {
                    confirmButtonText: '确定',
                });
            }
        })
    },

    // 根据影院ID查询所有的影片信息（因为该数据在影院详情已经存在，所以直接根据ID查询影院详情即可）
    findMovieByCinema: function (cinemaId) {
        axios({
            url: "/admin/cinema/detail/id",
            method: "GET",
            params: {
                cinemaId: cinemaId,
            }
        }).then(function (value) {
            if (value.data.code == 200) {
                vueapp.movieList = value.data.data.movies;
            } else {
                vueapp.$alert(value.data.msg, '提示', {
                    confirmButtonText: '确定',
                });
            }
        })
    },

    // 查询所有的影片信息
    findMovieAll: function () {
        axios({
            url: "/admin/movie/all",
            method: "GET",
        }).then(function (value) {
            if (value.data.code == 200) {
                vueapp.movieList = value.data.data;
            } else {
                vueapp.$alert(value.data.msg, '提示', {
                    confirmButtonText: '确定',
                });
            }
        })
    },

    // 查询所有的语言版本
    findVersionAll: function () {
        axios({
            url: "/admin/movie/version/all",
            method: "GET",
        }).then(function (value) {
            if (value.data.code == 200) {
                vueapp.versionList = value.data.data;
            } else {
                vueapp.$alert(value.data.msg, '提示', {
                    confirmButtonText: '确定',
                });
            }
        })
    },

    // 根据影院查找所有的影厅
    findHallByCinemaId: function (cinemaId) {
        axios({
            url: "/admin/cinema/hall/cinema/id",
            method: "GET",
            params: {
                cinemaId: cinemaId,
            }
        }).then(function (value) {
            if (value.data.code == 200) {
                vueapp.hallList = value.data.data;
            } else {
                vueapp.$alert(value.data.msg, '提示', {
                    confirmButtonText: '确定',
                });
            }
        })
    },

    // 取消放映计划
    deleteSchedule: function (scheduleId) {
        axios({
            url: "/admin/cinema/del/schedule",
            method: "GET",
            params: {
                scheduleId: scheduleId,
            }
        }).then(function (value) {
            if (value.data.code == 200) {
                vueapp.$message({
                    message: "取消成功！",
                    type: 'success'
                });
                // 更新搜索结果
                var keyword = vueapp.keyword;
                var searchCondition = vueapp.searchCondition;
                vueapp.searchScheduleByMovieName(0, 10, keyword, searchCondition)
            } else if (value.data.code == 3008) {
                vueapp.$message('该计划已经创建了订单！无法取消');
            } else {
                vueapp.$message.error("产生了意外的错误导致取消失败！");
            }
        })
    },

    // 更新今日计划
    updateTodaySchedule: function () {
        axios({
            url: "/admin/cinema/update/movie/show/time",
            method: "GET",
        }).then(function (value) {
            if (value.data.code == 200) {
                vueapp.$message({
                    message: '更新成功！',
                    type: 'success'
                });
            } else {
                vueapp.$message.error('更新失败！');
            }
        })
    },

    // 移除历史计划（默认是移除30天之前的计划）
    deleteOldSchedule: function () {
        axios({
            url: "/admin/cinema/del/old/schedule",
            method: "GET",
        }).then(function (value) {
            if (value.data.code == 200) {
                vueapp.$message({
                    message: '总共删除' + value.data.data + "条记录",
                    type: 'success'
                });
            } else if (value.data.code == 2000) {
                vueapp.$message('没有找到历史数据');
            } else {
                vueapp.$message.error('删除失败了！');
            }
        })
    },

    // 添加日程
    addSchedule: function () {
        var versionId = this.schedule.versionId;
        var movieId = this.schedule.movieId;
        var hallId = this.schedule.hallId;
        var startPurchasePrice = this.schedule.startPurchasePrice;
        var scheduleStartTime = this.scheduleStartTime;
        axios({
            url: "/admin/cinema/add/schedule",
            method: "POST",
            data: {
                hallId: hallId,
                movieId: movieId,
                versionId: versionId,
                dateTime: scheduleStartTime,
                schedulePrice: startPurchasePrice,
            }
        }).then(function (value) {
            if (value.data.code == 200) {
                vueapp.$message({
                    message: '添加成功！',
                    type: 'success'
                });
            } else if (value.data.code == 3009) {
                vueapp.$message.error('创建失败！当前影厅仍然存在未结束的放映计划！');
            } else {
                vueapp.$message.error('出现意外的错误导致添加失败！');
            }
        })
    }
}